package cn.xjfme.encrypt.dto;


import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author zhangjie
 * @since 2023/2/23 18:33
 */
@Data
public class LoanCallBackDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单编号", required = true
     */
    @ApiModelProperty(value = "订单编号", required = true)
    private String orderCode;

    /**
     * 是否首贷：no-否；yes-是", allowableValues = "no,yes", required = true
     */
    @ApiModelProperty(value = "是否首贷：no-否；yes-是", allowableValues = "no,yes", required = true)
    private String isFirstLoan;

    /**
     * 是否文创企业：no-否；yes-是", allowableValues = "no,yes", required = true
     */
    @ApiModelProperty(value = "是否文创企业：no-否；yes-是", allowableValues = "no,yes", required = true)
    private String isCulturalCreativeEnt;

    /**
     * 产品编号"
     */
    @ApiModelProperty("产品编号")
    private String productCode;

    /**
     * 产品名称"
     */
    @ApiModelProperty("产品名称")
    private String productName;

    /**
     * 实际产品分类"
     */
    @ApiModelProperty("实际产品分类")
    private String productCategoryCode;

    /**
     * 实际放贷金额", required = true
     */
    @ApiModelProperty(value = "实际放贷金额", required = true)
    private BigDecimal actualLoanAmount;

    /**
     * 实际贷款利率", required = true
     */
    @ApiModelProperty(value = "实际贷款利率", required = true)
    private BigDecimal actualLoanInterest;

    /**
     * 实际放贷开始日期", required = true
     */
    @ApiModelProperty(value = "实际放贷开始日期, 格式 2020-08-04 08:00:00", required = true)
    private String actualLoanStartDate;

    /**
     * 实际放贷结束日期,格式 2020-08-04 08:00:00  required = true
     */
    @ApiModelProperty(value = "实际放贷结束日期,格式 2020-08-04 08:00:00", required = true)
    private String actualLoanEndDate;

    /**
     *
     */
    @ApiModelProperty(value = "实际还款方式：还款方式：principal_interest-等额本息；interest-等本本息；principal-等额本金；borrow_repay-随借随还；monthly-每月还息，一次性还本 ；quarterly-季度还息到期还本", required = true)
    private String actualLoanReimbursementKind;

    /**
     * 贷款类型，多个使用,分隔：credit-信用贷款；secured-担保贷款；mortgage-抵押贷款； pledge-质押贷款；other-其他", required = true
     */
    @ApiModelProperty(value = "贷款类型，多个使用,分隔：credit-信用贷款；secured-担保贷款；mortgage-抵押贷款； pledge-质押贷款；other-其他", required = true)
    private String loanType;

    /**
     * 信用贷款金额"
     */
    @ApiModelProperty("信用贷款金额")
    private BigDecimal creditAmount;

    /**
     * 担保贷款金额"
     */
    @ApiModelProperty("担保贷款金额")
    private BigDecimal securedAmount;

    /**
     * 抵押贷款金额"
     */
    @ApiModelProperty("抵押贷款金额")
    private BigDecimal mortgageAmount;

    /**
     * 质押贷款金额"
     */
    @ApiModelProperty("质押贷款金额")
    private BigDecimal pledgeAmount;

    /**
     * 其他贷款金
     */
    @ApiModelProperty("其他贷款金")
    private BigDecimal otherAmount;

    /**
     * 是否拒绝原因
     */
    @ApiModelProperty("是否拒绝原因")
    private String reason;

    /**
     * 是否贷款
     */
    @ApiModelProperty("是否贷款")
    private Boolean canLoan;

    /**
     * 用户code
     */
    @ApiModelProperty("用户code")
    private String userCode;
}
